home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Presentations / Presentations ’88 / Feldt Advanced Mac Programming / Serial Port / termdemo.c < prev    next >
C/C++ Source or Header  |  1987-10-26  |  2KB  |  47 lines

  1. /*                        ssg Commlib - TermDemo                            */
  2. /*                          Aztec C compiler 1.06i                            */
  3. /*                        Lightspeed C compiler 2.01                        */
  4. /*                            copyright 1987 by ssg                            */
  5.  
  6. #include  <extender.h>
  7.  
  8. EventRecord          Event;                          /* event record structure instance    */
  9. EventStuff           whatHappened;     /* event detail structure instance    */
  10. MenuHandle          appleMenu,fileMenu,editMenu; /* handles for std menus    */
  11. SerialPort         PortA;            /* serial port data structure instance    */
  12. WindowPtr        wPtr;    
  13. TermData        *termPtr;
  14.  
  15. main()
  16. {
  17.     XTCommInit();                    /* init Toolbox managers, Commlib    */
  18.     termPtr = CrtTermWindow(NULL);    /* create term window and record    */
  19.     InitSPort(&PortA,'A');                /* set modem port (A) to defaults    */
  20.  
  21.     PortA.baud = baud1200;            /* 1200 baud transmission rate    */
  22.     PortA.parity = noparity;            /* set character parity to none    */
  23.     PortA.stopbits = stop20;            /* set to 2 stopbits per character    */
  24.     PortA.databits = data8;            /* set to 8 databits per character    */
  25.     SetSPort(&PortA);                /* set modem port to above values    */
  26.  
  27.     PortA.inbufsize = 2048;            /* set input buffer to 1024 bytes (1K)    */
  28.     PortA.in = NewPointer((long)2048);    /* set address of input buffer    */
  29.     PortA.outbufsize = 0;                /* leave output buffer untouched    */
  30.     SetBufSPort(&PortA);                /* set modem port to above values    */
  31.  
  32.     termPtr->commPort:= &PortA;        /* link term window and modem port    */
  33.     wPtr = termPtr->commWindow;        /* save term WindowPtr for later use    */
  34.     ShowWindow(wPtr);                /* make term window visible, active    */
  35.  
  36.     do {        
  37.         do {
  38.             CheckPort(termPtr);        /* check for chars arriving at port    */
  39.             SystemTask();            /* slice of cpu time for DAs    */          } while (!GetNextEvent(everyEvent,&Event));     /* until event occurs     */
  40.  
  41.         HandleEvent(&Event,&whatHappened);
  42.  
  43.     } while (ExitRequest(&whatHappened) == FALSE);
  44.     KillWindow(wPtr);                /* remove window & data structures    */
  45.     ResetSPort(&PortA);                /* release serial port driver, memory    */
  46. }
  47.